1. Field of the Invention
The present invention relates a color conversion definition creation method for creating color conversion definition in which correspondence relation between coordinates in a first color space and coordinates in a second color space is defined, a color conversion definition creation apparatus for creating such color conversion definition, and a color conversion definition creation program storage medium storing a color conversion definition creation program for causing a computer to operate as such a color conversion definition creation apparatus.
2. Description of the Related Art
There are known various types of input devices for inputting an image to acquire image data, such as a color scanner for reading a recorded image to acquire image data and a DSC (digital still camera) for focusing an image of an object on a solid-state imaging device and reading it to acquire image data. In these input devices, image data is represented by data within a limited range, for example, a range from 0 to 255 for each of three colors of R (red), G (green) and B (blue). However, there is a natural limit to the number of colors which can be expressed by numeric values within a limited range for each of the three colors of R, G and B. Therefore, even if an original image is expressed in rich and varied colors, when the image is converted to image data by means of an input device, the colors of the image represented by the image data are limited to those within a region of color expression indicated by cubes or rectangular solid in the RGB color space.
There are also known various types of output devices for outputting an image based on image data, such as a photo printer which exposes the surface of printing paper to a laser light and develops the printing paper to record an image on the printing paper, a printer which records an image on paper in a method such as an electrophotography method and an ink jet method, a printing machine which creates a great deal of printed material by operating a rotary press, and an image display device such as a CRT display and a plasma display for displaying an image on a display screen based on image data. However, similarly to the input devices described above, there is a region of color expression corresponding to each of the output devices. That is, though an output device is capable of expressing various colors, for example, based on image data expressing three colors of R, G and B and image data expressing four colors of C (cyan), M (magenta), Y (yellow) and K (black), the colors which can be expressed by the output device are limited to colors within a region of color expression (for example, a region of color expression indicated by numerical values from 0 to 255 for each of R, G and B) indicated by cubes or a rectangular solid of the output device color space (for example, the RGB space, the CMYK space and the like).
Furthermore, the color of an image acquired based on particular image data (for example, data indicating (R, G, B)=(50, 100, 200)) differs depending on the kinds of output device. The same is true between an input device and an output device. Even if image data indicating (R, G, B)=(50, 100, 200), acquired by some input device is outputted as it is by some output device, the colors of the original image inputted by the input device and the image outputted by the output device are generally not the same. Therefore, in the case where image data is acquired by reading an image by means of some input device, and the original image is reproduced by means of some output device based on the image data, the image data acquired by the input should not be immediately sent to the output device but should be converted between the devices. In this case, the conversion is performed with regard to colors of the image, and this image data conversion is referred to as color conversion. Such as defines the mutual relation between the image data before and after the color conversion, for example, an LUT (look up table) is referred to as color conversion definition (a color profile), and creation of the color conversion definition (the color profile) is referred to as profiling.
As described above, the color expression region differs depending on devices, and image data of the same numerical value is expressed in a different color on each device. Recently, it has been desired to construct a device independent system in which an input device and an output device are mutually connected and can be freely replaced with a different device. Such a device independent system adopts a method in which, in performing color conversion between devices, a common color space independent from a device (space for device independent data), such as the L*a*B color space, is intermediately placed between the devices to perform color conversion of converting image data in a color space dependent on the input device, which has been acquired by the input device, to image data in the common color space, and color conversion of converting the image data in the common color space to image data in a color space dependent on the output device. In this device independent system, there are created a color profile which defines color conversion between the input device dependent color space and the common color space and a color profile which defines color conversion between the output device dependent color space and the common color space.
Generally, the color conversion definition (color profile) is created as a set of point pairs each of which is composed of a point in one of two color spaces and a point in the other. Table 1 below shows an example of the color conversion definition created as a set of point pairs.
TABLE 1RGBL*a*b*(0 0 0)(7.0 0.6 0.2)(0 0 10)(8.8 0.8 5.8)(0 0 20)(8.8 0.9 8.1). . .. . .(255 255 255)(90.5 0.2 −2.6)
The color conversion definition shown in Table 1 defines color conversion between the RGB color space and the L*a*b* color space. In the left column of Table 1, points in the RGB color space are shown as coordinate values, and in the right column, points in the L*a*b* color space are shown as coordinate values. The points shown on the same row in the right and left columns correspond to each other. The points shown in the left column of Table 1 are intersection points between grid lines running at right angles to each other in the RGB color space. Such an intersection point is referred to as a grid point. The points shown in the right column of Table 1 are points irregularly distributed in the L*a*b* color space and corresponding to the grid points in the RGB color space. These points are referred to as corresponding grid points.
A practical color conversion definition is required to be created as a set of grid point pairs each of which is composed of a grid point in one of two color spaces between which color conversion is to be defined and a grid point in the other color space, as shown in Table 1. Description will be made on how color conversion is performed in accordance with the color conversion definition created as described above.
FIG. 1 is a conceptual diagram illustrating color conversion in accordance with color conversion definition.
In this conceptual diagram, grid points 1 in the RGB color space and corresponding grid points 2 in the L*a*b* color space are shown. There are also shown grid lines 3 in the RGB color space and curves 4 in the L*a*b* space corresponding to the grid lines. The correspondence relation between the grid points 1 and the grid points 2, and the correspondence relation between the grid lines 3 and the curves 4 can be derived from color conversion definition.
If image data for which color conversion is to be performed is image data indicating a grid point 1, the image data is naturally converted to image data indicating a grid point 2 corresponding to the grid point 1. If image data for which color conversion is to be performed is image data indicating a grid point 2, the image data is naturally converted to image data indicating a grid point 1 corresponding to the grid point 2.
If image data for which color conversion is to be performed is image data indicating a point 5 different from the grid points 1 in the RGB color space, calculations such as volume interpolation operation, triangular pyramid interpolation operation and polynomial approximation calculation are performed based on grid points la around the point 5 and corresponding grid points 2a each of which corresponds to each of the grid points la to determine a point 6 in the L*a*b* color space corresponding to the point 5 in the RGB color space, and image data indicating the point 5 is converted to image data indicating the point 6.
On the contrary, if image data for which color conversion is to be performed is image data indicating the point 6 in the L*a*b* color space, then such point 5 in the RGB color space that the calculation result of the volume interpolation operation and the like described above performed therefor is to be the point 6 is calculated with the use of convergence operation such as Newton method convergence operation and other convergence operations, and the image data indicating the point 6 is converted to image data indicating the point 5. However, actually in many cases, grid points in the L*a*b* color space are prepared prior to color conversion for each image data, and corresponding grid points in the RGB color space are calculated with the use of convergence operation such as the Newton method convergence operation to create reverse conversion definition which defines color conversion from the L*a*b* color space to the RGB color space in advance, and thereby, color conversion is performed with the use of volume interpolation operation and the like based on the reverse conversion profile.
Various profilings as shown below have been proposed as profiling in which color conversion definition (color profile) is created. In common profiling, by reading an image of a color chart with an input device, outputting it with an output device or measuring its colors with a colorimeter, data is prepared which indicates known-point pairs each of which is composed of a known point in a first color space (for example, the RGB color space) and a corresponding known point in a second color space (for example, the L*a*b* color space), and color conversion definition is created based on the data. In the description below, however, data indicating a known-point pair and a known-point pair may be used without distinction. Furthermore, for convenience of description, description will be made on the assumption that there is created color conversion definition which defines color conversion between the RGB color space and the L*a*b* color space.
In first profiling, the above-mentioned grid point pairs themselves as shown in Table 1 are acquired as known-point pairs to create color conversion definition as a set of the acquired grid points pairs. That is, it is necessary to prepare a color chart created so that grid point pairs themselves can be acquired by performing measurement and the like.
As an improvement of this first profiling, there has been proposed a method, wherein a color chart enabling acquisition of a part of necessary grid point pairs is prepared, and point pairs that cannot be acquired from the color chart are calculated by means of interpolation and the like based on the grid point pairs obtained from the color chart (see Japanese Patent Laid-Open No. 2003-289446).
In second profiling, color conversion definition is created, for example, based on a set of known points as shown in Table 2 below.
TABLE 2RGBL*a*b*(173 38 30)(37.0 62.6 25.2)(46 138 44)(48.8 −48.1 35.2). . .. . .. . .. . .(215 189 20)(74.6 7.0 100.6)
In the left column of Table 2, coordinates of known points in the RGB color space are shown, and in the right column, coordinates of corresponding known points in the L*a*b* color space corresponding to the known points are shown. Both of the known points and the corresponding known points are irregularly distributed without regularity of the grid points described above.
Though color conversion definition is created based on the set of known-point pairs as shown in Table 2 in the second profiling, the second profiling requires the known-point pairs as shown in Table 2 to correspond to grid points in some third color space different from the RGB color space and the L*a*b* color space. The volume interpolation operation and the like described above are performed via the third color space, and a set of grid point pairs defining color conversion between the RGB color space and the L*a*b* color space is calculated, and thereby color conversion definition is created.
In third profiling, the correspondence relation between space coordinates in the RGB color space and space coordinates in the L*a*b* color space is approximated by the polynomial equation shown below.
                              [                                                                      L                  *                                                                                                      a                  *                                                                                                      b                  *                                                              ]                =                              [                                                                                a                    ⁢                                                                                  ⁢                    11                                                                                        a                    ⁢                                                                                  ⁢                    12                                                                                        a                    ⁢                                                                                  ⁢                    13                                                                                        a                    ⁢                                                                                  ⁢                    14                                                                                                                    a                    ⁢                                                                                  ⁢                    21                                                                                        a                    ⁢                                                                                  ⁢                    22                                                                                        a                    ⁢                                                                                  ⁢                    23                                                                                        a                    ⁢                                                                                  ⁢                    24                                                                                                                    a                    ⁢                                                                                  ⁢                    31                                                                                        a                    ⁢                                                                                  ⁢                    32                                                                                        a                    ⁢                                                                                  ⁢                    33                                                                                        a                    ⁢                                                                                  ⁢                    34                                                                        ]                    ⁡                      [                                                            R                                                                              G                                                                              B                                                                              1                                                      ]                                              [                  Formula          ⁢                                          ⁢          1                ]            
Then, by calculating the elements a11, a12, . . . , a33 and a34 of the coefficient matrix in this formula based on the set of known-point pairs as shown in Table 2, the correspondence relation between the space coordinates in the RGB color space and the space coordinates in the L*a*b* color space is calculated. Then, grid point pairs are calculated based on the coefficient matrix, the elements a11, a12, a 33 and a34 of which have been calculated, to create color conversion definition.
In fourth profiling, it is assumed that a physical model is satisfied which indicates the physical relation between light-emission luminance of a CRT and space coordinates in the RGB color space, as represented by the formula below.Ry=a·RγGy=a·RγBy=a·Rγ  [Formula 2]
Then, with the use of the formula as shown below, which is derived from such a model, and the set of known-point pairs as shown in Table 2 described above, the correspondence relation between the space coordinates in the RGB color space and the space coordinates in the L*a*b* color space is calculated.
                              [                                                    X                                                                    Y                                                                    Z                                              ]                =                              [                                                                                a                    ⁢                                                                                  ⁢                    11                                                                                        a                    ⁢                                                                                  ⁢                    12                                                                                        a                    ⁢                                                                                  ⁢                    13                                                                                                                    a                    ⁢                                                                                  ⁢                    21                                                                                        a                    ⁢                                                                                  ⁢                    22                                                                                        a                    ⁢                                                                                  ⁢                    23                                                                                                                    a                    ⁢                                                                                  ⁢                    31                                                                                        a                    ⁢                                                                                  ⁢                    32                                                                                        a                    ⁢                                                                                  ⁢                    33                                                                        ]                    ⁡                      [                                                            Ry                                                                              Gy                                                                              By                                                      ]                                              [                  Formula          ⁢                                          ⁢          3                ]            
By calculating the elements a11, a12, . . . , a32 and a33 of the coefficient matrix in this formula, the correspondence relation between the space coordinates of the RGB color space and the space coordinates of the L*a*b* color space is calculated. Then, grid point pairs are calculated based on the coefficient matrix whose elements a11, a12, . . . , a32 and a33 have been calculated, to create color conversion definition.
Though there have been proposed various profilings as described above, any of such conventional profilings has some disadvantages in addition to its advantages as described below.
When known-point pairs are prepared to create a profile, input/output or color measurement of a color chart is performed, and it is desirable that an existing chart in which patch rules are determined in advance or a chart in which patches of important colors are arranged with priority, such as an IT8 chart and Macbeth chart, can be used as the color chart. However, in the first and second profilings described above, it is impossible to use an existing chart in many cases.
Known-point pairs acquired by input/output or color measurement of the color chart indicate the most accurate correspondence relation between space coordinates in the RGB color space and space coordinates in the L*a*b* color space, and therefore, it is desirable to create color conversion definition to reproduce this correspondence relation. In the third profiling described above, however, the color conversion definition is created by approximation, and therefore there is a strong probability that the created color conversion definition may not reproduce the accurate correspondence relation indicated by the known-point pairs.
Furthermore, though it is desirable that profiling has high versatility to various devices, the fourth profiling described above is such that is applicable only to a device in which a physical model can be used, and it has little versatility to various devices.